package LanQiao.jichu;

import java.math.BigDecimal;
import java.util.Scanner;

//高精度加法
public class BASIC_29 {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        //BigDecimal定义大数类型
//        BigDecimal a = s.nextBigDecimal();
//        BigDecimal b = s.nextBigDecimal();
//        BigDecimal c = a.add(b);
//        System.out.println(c);
        String A = s.next();
        String B = s.next();
        int leta = A.length();
        int letb = B.length();
        int[] a = new int[leta];
        int[] b = new int[letb];
        int[] c = new int[101];
        for (int i = leta - 1, j = 0; i >= 0 && j < leta; i--, j++) {
            a[i] = A.charAt(j) - '0';
        }
        for (int i = letb - 1, j = 0; i >= 0 && j < letb; i--, j++) {
            b[i] = B.charAt(j) - '0';
        }
        int temp, jw = 0;
        if (leta > letb) {
            for (int i = 0; i < letb; i++) {
                temp = a[i] + b[i] + jw;
                jw = temp / 10;
                c[i] = temp % 10;
            }
            for (int i = letb; i < leta; i++) {
                temp = a[i] + jw;
                jw = temp / 10;
                c[i] = temp % 10;
            }
        } else {
            for (int i = 0; i < leta; i++) {
                temp = a[i] + b[i] + jw;
                jw = temp / 10;
                c[i] = temp % 10;
            }
            if (leta == letb) {
                c[leta] = jw;
            } else {
                for (int i = leta; i < letb; i++) {
                    temp = b[i] + jw;
                    jw = temp / 10;
                    c[i] = temp % 10;
                }
            }
        }
        //定位到阶乘数的最大位位置
        int size;
        for (size = c.length - 1; size >= 0; size--) {
            if (c[size] != 0) {
                break;
            }
        }
        for (int i = size; i >= 0; i--) {
            System.out.print(c[i]);
        }
    }
}
